package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.xnew.bean.common.FileInfo;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @Author: Zhozh
* @Description: 会员档案项目信息表
* @DateTime: 2022/5/18
* @Params:
* @Return
*/

@TableName("t10_mem_prj_info")
public class MemPrjInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 项目信息编号
    */
    @TableId("prj_info_no")
    private String prjInfoNo;

    /**
    * 信息审核状态编号
    */
    private String infsubAuditStatusCode;

    /**
    * 机构用户编号
    */
    private String orgUserNo;

    /**
    * 评级项目性质编号
    */
    private String ratPrjChrcCode;

    /**
    * 项目信息录入日期
    */
    private String infoInputTime;

    /**
    * 项目信息更新日期
    */
    private String infoUpdateTime;

    /**
    * 评级项目名称
    */
    private String ratPrjName;

    /**
    * 项目评级机构
    */
    private String prjRatOrgName;

    /**
    * 非定期跟踪信用评级发起原因
    */
    private String nopdTrkCrdratLaunchReason;

    /**
    * 评级协议或者合同签订日期
    */
    private String ratAgmtSignedDate;

    /**
    * 评级协议或合同总金额（万元）
    */
    @TableField("rat_agmt_tot_amt_10thousand")
    private String ratAgmtTotAmt10thousand;

    /**
    * 本次评级收费金额（万元）
    */
    private String ttimeRatChrgAmt;

    /**
    * 主承销商
    */
    private String leduwName;

    /**
    * 受评级对象信用等级
    */
    private String ratdObjectCrdGradeCode;

    /**
    * 发行主体
    */
    private String issptyName;

    /**
    * 主体长期信用等级
    */
    private String partyLtermCrdGradeCode;

    /**
    * 发行规模（亿元）
    */
    @TableField("iss_scale_100mill")
    private String issScale100mill;

    /**
    * 发行主体信用评级报告出具日期
    */
    private String issptyCrdratRptIssucDate;

    /**
    * 发行期限（年）
    */
    private String issTermYear;

    /**
    * 信用评级项目组成立日期
    */
    private String crdratPrjtmSetupDate;

    /**
    * 信用评级项目组负责人
    */
    private String crdratPrjtmResperName;

    /**
    * 项目组成员
    */
    private String prjtmMember;

    /**
    * 项目组负责人办公电话
    */
    private String prjtmResperOfficeTel;

    /**
    * 项目组负责人移动电话
    */
    private String prjtmResperMob;

    /**
    * 评级报告出具日期
    */
    private String ratRptIssucDate;

    /**
    * 担保主体信用等级
    */
    private String guarPartyCrdGrade;

    /**
    * 项目信息备注
    */
    private String prjInfoRemark;

    /**
    * 项目信息录入人
    */
    private String infoInputPsnNo;

    /**
    * 项目信息更新人
    */
    private String infoUpdatePsnNo;

    /**
    * 是否是关闭状态（1：是 0：否）
    */
    private String isCloseStatus;

    /**
    * 项目报备披露标志
    */
    private String prjReportMapubFlag;

    /**
    * 受评对象评级结果
    */
    private String ratdObjectRatResult;

    /**
     * 审核日志
     */
    @TableField(exist = false)
    private List<AuditLog> auditLogList;


    public List<AuditLog> getAuditLogList() {
        return auditLogList;
    }

    public void setAuditLogList(List<AuditLog> auditLogList) {
        this.auditLogList = auditLogList;
    }

    @TableField(exist = false)
    private List<MemInfoChgHist> histList;

    public List<MemInfoChgHist> getHistList() {
        return histList;
    }

    public void setHistList(List<MemInfoChgHist> histList) {
        this.histList = histList;
    }

    @TableField(exist = false)
    private List<FileInfo> fileList;

    public List<FileInfo> getFileList() {
        return fileList;
    }

    public void setFileList(List<FileInfo> fileList) {
        this.fileList = fileList;
    }

    public MemPrjInfo() {
    }

    public String getPrjInfoNo() {
        return prjInfoNo;
    }

    public void setPrjInfoNo(String prjInfoNo) {
        this.prjInfoNo = prjInfoNo;
    }

    public String getInfsubAuditStatusCode() {
        return infsubAuditStatusCode;
    }

    public void setInfsubAuditStatusCode(String infsubAuditStatusCode) {
        this.infsubAuditStatusCode = infsubAuditStatusCode;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getRatPrjChrcCode() {
        return ratPrjChrcCode;
    }

    public void setRatPrjChrcCode(String ratPrjChrcCode) {
        this.ratPrjChrcCode = ratPrjChrcCode;
    }

    public String getInfoInputTime() {
        return infoInputTime;
    }

    public void setInfoInputTime(String infoInputTime) {
        this.infoInputTime = infoInputTime;
    }

    public String getInfoUpdateTime() {
        return infoUpdateTime;
    }

    public void setInfoUpdateTime(String infoUpdateTime) {
        this.infoUpdateTime = infoUpdateTime;
    }

    public String getRatPrjName() {
        return ratPrjName;
    }

    public void setRatPrjName(String ratPrjName) {
        this.ratPrjName = ratPrjName;
    }

    public String getPrjRatOrgName() {
        return prjRatOrgName;
    }

    public void setPrjRatOrgName(String prjRatOrgName) {
        this.prjRatOrgName = prjRatOrgName;
    }

    public String getNopdTrkCrdratLaunchReason() {
        return nopdTrkCrdratLaunchReason;
    }

    public void setNopdTrkCrdratLaunchReason(String nopdTrkCrdratLaunchReason) {
        this.nopdTrkCrdratLaunchReason = nopdTrkCrdratLaunchReason;
    }

    public String getRatAgmtSignedDate() {
        return ratAgmtSignedDate;
    }

    public void setRatAgmtSignedDate(String ratAgmtSignedDate) {
        this.ratAgmtSignedDate = ratAgmtSignedDate;
    }

    public String getRatAgmtTotAmt10thousand() {
        return ratAgmtTotAmt10thousand;
    }

    public void setRatAgmtTotAmt10thousand(String ratAgmtTotAmt10thousand) {
        this.ratAgmtTotAmt10thousand = ratAgmtTotAmt10thousand;
    }

    public String getTtimeRatChrgAmt() {
        return ttimeRatChrgAmt;
    }

    public void setTtimeRatChrgAmt(String ttimeRatChrgAmt) {
        this.ttimeRatChrgAmt = ttimeRatChrgAmt;
    }

    public String getLeduwName() {
        return leduwName;
    }

    public void setLeduwName(String leduwName) {
        this.leduwName = leduwName;
    }

    public String getRatdObjectCrdGradeCode() {
        return ratdObjectCrdGradeCode;
    }

    public void setRatdObjectCrdGradeCode(String ratdObjectCrdGradeCode) {
        this.ratdObjectCrdGradeCode = ratdObjectCrdGradeCode;
    }

    public String getIssptyName() {
        return issptyName;
    }

    public void setIssptyName(String issptyName) {
        this.issptyName = issptyName;
    }

    public String getPartyLtermCrdGradeCode() {
        return partyLtermCrdGradeCode;
    }

    public void setPartyLtermCrdGradeCode(String partyLtermCrdGradeCode) {
        this.partyLtermCrdGradeCode = partyLtermCrdGradeCode;
    }

    public String getIssScale100mill() {
        return issScale100mill;
    }

    public void setIssScale100mill(String issScale100mill) {
        this.issScale100mill = issScale100mill;
    }

    public String getIssptyCrdratRptIssucDate() {
        return issptyCrdratRptIssucDate;
    }

    public void setIssptyCrdratRptIssucDate(String issptyCrdratRptIssucDate) {
        this.issptyCrdratRptIssucDate = issptyCrdratRptIssucDate;
    }

    public String getIssTermYear() {
        return issTermYear;
    }

    public void setIssTermYear(String issTermYear) {
        this.issTermYear = issTermYear;
    }

    public String getCrdratPrjtmSetupDate() {
        return crdratPrjtmSetupDate;
    }

    public void setCrdratPrjtmSetupDate(String crdratPrjtmSetupDate) {
        this.crdratPrjtmSetupDate = crdratPrjtmSetupDate;
    }

    public String getCrdratPrjtmResperName() {
        return crdratPrjtmResperName;
    }

    public void setCrdratPrjtmResperName(String crdratPrjtmResperName) {
        this.crdratPrjtmResperName = crdratPrjtmResperName;
    }

    public String getPrjtmMember() {
        return prjtmMember;
    }

    public void setPrjtmMember(String prjtmMember) {
        this.prjtmMember = prjtmMember;
    }

    public String getPrjtmResperOfficeTel() {
        return prjtmResperOfficeTel;
    }

    public void setPrjtmResperOfficeTel(String prjtmResperOfficeTel) {
        this.prjtmResperOfficeTel = prjtmResperOfficeTel;
    }

    public String getPrjtmResperMob() {
        return prjtmResperMob;
    }

    public void setPrjtmResperMob(String prjtmResperMob) {
        this.prjtmResperMob = prjtmResperMob;
    }

    public String getRatRptIssucDate() {
        return ratRptIssucDate;
    }

    public void setRatRptIssucDate(String ratRptIssucDate) {
        this.ratRptIssucDate = ratRptIssucDate;
    }

    public String getGuarPartyCrdGrade() {
        return guarPartyCrdGrade;
    }

    public void setGuarPartyCrdGrade(String guarPartyCrdGrade) {
        this.guarPartyCrdGrade = guarPartyCrdGrade;
    }

    public String getPrjInfoRemark() {
        return prjInfoRemark;
    }

    public void setPrjInfoRemark(String prjInfoRemark) {
        this.prjInfoRemark = prjInfoRemark;
    }

    public String getInfoInputPsnNo() {
        return infoInputPsnNo;
    }

    public void setInfoInputPsnNo(String infoInputPsnNo) {
        this.infoInputPsnNo = infoInputPsnNo;
    }

    public String getInfoUpdatePsnNo() {
        return infoUpdatePsnNo;
    }

    public void setInfoUpdatePsnNo(String infoUpdatePsnNo) {
        this.infoUpdatePsnNo = infoUpdatePsnNo;
    }

    public String getIsCloseStatus() {
        return isCloseStatus;
    }

    public void setIsCloseStatus(String isCloseStatus) {
        this.isCloseStatus = isCloseStatus;
    }

    public String getPrjReportMapubFlag() {
        return prjReportMapubFlag;
    }

    public void setPrjReportMapubFlag(String prjReportMapubFlag) {
        this.prjReportMapubFlag = prjReportMapubFlag;
    }

    public String getRatdObjectRatResult() {
        return ratdObjectRatResult;
    }

    public void setRatdObjectRatResult(String ratdObjectRatResult) {
        this.ratdObjectRatResult = ratdObjectRatResult;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode","guarPartyCrdGrade","prjReportMapubFlag","ratdObjectCrdGradeCode","partyLtermCrdGradeCode","ratPrjChrcCode","auditLogList"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149","DG0242","DG0249","DG0241","DG0242","DG0134","LIST"};
    }

}